Istruzioni di Liviu Lalescu
           aggiornamento del 4 agosto 2008
           (traduzione di Marco Barsotti del 8 agosto 2008)

Questi sono alcuni accorgimenti che dovrete seguire per inserire insiemi di dati che sar possibile risolvere.

Se ottenete un orario impossibile e la scuola permette di iniziare le lezioni ad ore successive alla prima, provate a riconsiderare i vincoli "presto" per le classi e / o sostituirne alcuni con vincoli di indisponibilit / interruzione nelle ultime ore. Inoltre la rimozione o l'alleggerimento del peso di altri vincoli potrebbe essere di aiuto. Se FET non riesce a trovare un buon orario per la tua scuola, scrivi all'autore e suggerisci come FET pu essere migliorato. Forse piccole modifiche al tuo file dati possono portare a soluzioni migliori o forse ci sono aspetti che devono essere modificati in FET.

Un orario impossibile potrebbe anche essere causato da una errata divisione degli anni. Verificate le statistiche degli studenti per tutti i sottogruppi: ogni sottogruppo dovrebbe avere le ore necessarie, non di meno. Se avete per esempio alcuni sottogruppi diciamo con meno di 20 ore alla settimana potrebbe essere impossibile arrivare ad un orario a causa di un errore di suddivisione degli anni o per attivit aggiunte in modo errato. Ogni sottogruppo  indipendente e dovrebbe avere un totale di ore di studio alla settimana vicino alla media di tutti i sottogruppi. Consultate le FAQ per maggiori informazioni.

0) Impostate i giorni e le ore di insegnamento. Per garantire prestazioni ottimali,  meglio indicare l'esatto numero di ore al giorno che vi servono, e non di pi. E' consigliabile fissare fin dall'inizio il numero di giorni e il numero di ore (se occorre potrete cambiarli in qualsiasi momento in seguito). 

Aggiunta del 14 giugno 2008: dalla versione 5.5.8 in poi,  possibile aggiungere 2 vincoli di minimo n giorni per le stesse attivit. Nella finestra di dialogo per l'inserimento di attivit, selezionare minimo 2 (o 3) giorni e quando si conferma l'inserimento si ottiene la possibilit di aggiungere un altro vincolo di minimo 1 giorno (o 2). Questo  il metodo raccomandato per aggiungere gruppi di attivit (o lezioni) dello stesso tipo. Se per esempio, si devono disporre 3 attivit (o lezioni) a settimana di Storia,  possibile aggiungere 2 vincoli, minimo 2 giorni e minimo 1 giorno, entrambi con il 95%. Ci garantir che nel 99,75% dei casi la distanza minima di 1 giorno sar rispettata.

1) E' possibile utilizzare per il vincolo "numero minimo di giorni" il peso preferito. Pu essere del 95%, 99,75% o anche il 100%. Se si specifica un valore al di sotto del 100% (99,75% o anche pi) per un vincolo impossibile, FET  in grado di rilevare che non pu rispettarlo e ottenere comunque un orario alla fine; il peso  soggettivo. L'orario migliore potrebbe scaturire preferendo pesi del 99,75% per tutti (o quasi) i vincoli, ma il tempo di generazione potrebbe essere molto maggiore che scegliendo invece il 95%.

Si potrebbe provare prima il 95%, valore minimo raccomandato, quindi alzare il peso percentuale fino al 99,75% o anche fino al 100%. Se volete cambiare il 95% con un altro valore per tutti i vincoli di questo tipo, il modo pi semplice  in Dati / Vincoli di tempo / Numero minimo di giorni tra attivit, dove a partire dalla versione 5.3.6  stato inserito un semplice comando per questo.

Si potrebbero scegliere diversi pesi per diversi vincoli del tipo "numero minimo di giorni" (per esempio assegnando un valore pi alto a corsi con un numero inferiore di attivit settimanali).

2) Se abbiamo un corso con 4 o 5 attivit per settimana, lezioni difficili (Matematica), che si preferisce programmare all'inizio della giornata (diciamo che 2 o 3 lezioni su 4 o 5 dovrebbero svolgersi nella prima met del giorno), conviene usare il vincolo di orari preferiti o ore iniziali preferite per subattivit, specificando il soggetto e il numero della componente: 1, 2 o 3, aggiungendo 3 vincoli (vedere le FAQ per ulteriori dettagli). Si possono aggiungere - ad esempio - vincoli per le componenti numero 3, 4 e 5 per la materia Matematica (cos se l'attivit  divisa in 4 se ne avranno 2 presto, se invece  divisa in 5 ne avremo 3 presto - un bel trucco).

3) Per il modo in cui  concepito e funziona l'algoritmo, la generazione automatica  pi veloce se si usa il vincolo di indisponibilit di studenti (o insegnanti) e/o il vincolo di ore preferenziali per pi attivit al fine di specificare ore prive di lezioni, in aggiunta al possibile utilizzo del numero massimo di ore al giorno per studenti e/o insegnanti. Per esempio, se sapete che il quinto anno avr soltanto ore dalle 8 alle 13,  meglio aggiungere studenti non disponibili in aggiunta al vincolo di numero massimo di ore al giorno. Questo trucco aiuta a guidare meglio FET verso una soluzione.

Ogni vincolo di tipo non disponibile o ore preferenziali che filtra via le ore impossibili pu portare un miglioramento nella velocit. 

4) Vincolo "presto" nell'orario degli studenti: se si immettono soltanto dati parziali, si potrebbero ottenere orari impossibili (altre informazioni nelle FAQ).

5) Per i buchi nell'orario di uno o pi insegnanti: si noti che FET prender in considerazione i buchi se glielo chiederete, aggiungendo il vincolo del numero massimo di buchi alla settimana per insegnante.  normale aggiungere tali vincoli dopo che abbiate verificato che i vostri dati sono risolvibili, usando come numero massimo di buchi un valore che sembri accettabile e abbassandolo man mano che si trovano nuovi orari. 

6) Immettere soltanto le aule speciali (palestre, laboratori ecc.) che necessitano di vincoli. Non occorre definire tutte le aule. Potreste in primo luogo provare a generare un orario senza definire aule, vedere se  fattibile e, allora, aggiungere le aule ed i vincoli a loro riferiti.

7) E' possibile ottenere orari per quegli istituti nei quali gli studenti lavorano a turni (per esempio, le prime classi al mattino e le ultime classi al pomeriggio). Si consultino le FAQ per informazioni su come fare (in pratica occorre aggiungere i necessari vincoli di studenti non disponibili).

8) L' algoritmo introdotto con la versione 5.0.0 non accetta attivit quindicinali. Ma si pu usare un trucco. Consultare le FAQ per la descrizione su come fare. (In pratica occorre definire una attivit con la somma di insegnanti e studenti di entrambe le attivit quindicinali).

9) Anche se occorre molto tempo per generare il vostro orario con una certa serie di vincoli, se aumentate il peso percentuale dei vincoli stessi, la produzione del nuovo orario potrebbe non rallentare di molto. Si consiglia di provare ad appesantire i pesi dei vincoli dopo aver gi ottenuto soluzioni, perch in questo modo si possono ottenere risultati migliori.

10) Se un vincolo ammette valori di peso inferiori a 100%, si pu utilizzare qualsiasi peso, compresi anche numeri decimali come 99,75%. Ci potrebbe essere utile con vincoli come numero minimo di giorni, aule preferenziali, o numero massimo di ore giornaliere ecc...

11) Ogni aula pu ospitare una singola attivit per volta. Se si dispone di una grande sala che pu ospitare pi attivit contemporaneamente, si deve usare un piccolo trucco. Si possono definire pi aule che rappresentino, insieme, questo ambiente pi grande e aggiungere vincoli di aule preferenziali. C' una voce nelle FAQ al riguardo. 

12) Se qualche insegnante ottiene giorni con una sola ora di lavoro, si pu aggiungere il vincolo del numero minimo di ore al giorno per insegnante (ad esempio 2 ore), ma occorre assicurarsi che l'orario sia possibile. Questo vincolo  intelligente e tiene conto solo di giorni non vuoti.

13) Aggiunta del 27 marzo 2008: se avete per esempio 7 ore di matematica su una settimana di 5 giorni (pi lezioni che i giorni), fare attenzione ad aggiungere questa attivit suddividendola correttamente. Vedi la domanda Q-1-27-Marzo-2008 dalle FAQ.  importante!

14) Aggiunta del 28 giugno 2008: cercate di rimuovere i vincoli ridondanti di numero minimo di giorni quando si aggiungono vincoli di inizio nello stesso giorno o ora (leggi Help / Consigli importanti).